package com.enjoyor.soa.traffic.api.service.dubbo.efms;

import com.enjoyor.soa.traffic.api.service.dto.ApplyInfoDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 警用模块_设备申请信息管理dubbo服务
 * @author wulei 
 * @date 2018/03/02
 *
 */

public interface DubboApplyInfoService {

	/**
	 * 
	* @Title: getPageApplyInfo 
	* @Description: TODO(分页获取设备申请审批对象) 
	* @param applyCode       申请编码
	* @param deviceClassCode 设备类别编码
	* @param deviceTypeCode  设备类型编码
	* @param applyDepartment 申请部门编码
	* @param applyStateCode  申请状态编码
	* @param applyStartDate  申请起始时间
	* @param applyEndDate    申请起始时间
	* @param orderSeq        排序字符串
	* @param page            分页对象
	* @return ResultPojo     含分页对象page
	* @throws
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageApplyInfo(String applyCode, String deviceClassCode,
			String deviceTypeCode,String applyDepartment, String applyStateCode, String applyStartDate,
			String applyEndDate,String orderSeq, Page page);

	/**
	* @Title: getApplyInfo 
	* @Description: TODO(获取设备申请审批对象列表) 
	* @param applyCode       申请编码
	* @param deviceClassCode 设备类别编码
	* @param deviceTypeCode  设备类型编码
	* @param applyDepartment 申请部门编码
	* @param applyStateCode  申请状态编码
	* @param applyStartDate  申请起始时间
	* @param applyEndDate    申请起始时间
	* @param orderSeq 排序字符串 
	* @return ResultPojo   含List<ApplyInfoPojo>
	* @throws
	 */
	public ResultPojo getApplyInfo(String applyCode, String deviceClassCode,
			String deviceTypeCode,String applyDepartment, String applyStateCode, String applyStartDate,
			String applyEndDate,String orderSeq);


	/**
	* @Title: addApplyInfo 
	* @Description: TODO(添加设备申请审批基础信息，返回数据库插入受影响行数) 
	* @param pojo 设备申请审批基础信息对象
	* @param userName 操作用户名
	* @return ResultPojo 含int
	* @throws
	 */
	public ResultPojo addApplyInfo(ApplyInfoDto dto,String token, String userName);

	/**
	* @Title: approvalInfo 
	* @Description: TODO(编辑设备申请审批基础信息,即审批操作，返回更新数据受影响行数) 
	* @param pojo 设备申请审批基础信息对象
	* @param userName 操作用户名
	* @return ResultPojo 含int
	* @throws
	 */
	public ResultPojo approvalInfo(ApplyInfoDto dto, String userName);

	/**
	* @Title: removeApplyInfoById 
	* @Description: TODO(根据申请编码删除设备，返回数据删除受影响行数) 
	* @param applyCode 申请编码
	* @param userName 操作用户名 
	* @return ResultPojo 含int
	* @throws
	 */
	public ResultPojo removeApplyInfoById(String applyCode,String token,  String userName);
	
}
